This media is not supported in your browser
VIEW IN TELEGRAM
Давно хотелось сделать такую RPG: Средневековый герой верхом на огромном волшебном питоне выполняет миссии и спасает людей от изнуряющей работы, потому что единственный из всех знает программирование...
Еще бы заодно воспроизвести всю цепочку открытий от электричества до современного hardware мог, а то ноутбук быстро сядет 🤓
#кек
@zen_of_python
Еще бы заодно воспроизвести всю цепочку открытий от электричества до современного hardware мог, а то ноутбук быстро сядет 🤓
#кек
@zen_of_python
pyfonts | Любой шрифт Google Fonts в Matplotlib
Если вы тоже выступаете за «дизайнеризацию» ноутбуков и в целом хотите унифицировать графики и текст вокруг них, этот тул позволит подключить любое из 1800+ начертаний за пару строк кода.
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Если вы тоже выступаете за «дизайнеризацию» ноутбуков и в целом хотите унифицировать графики и текст вокруг них, этот тул позволит подключить любое из 1800+ начертаний за пару строк кода.
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
pdfrename | Массовое именование PDF-файлов
Если вы генерируете файлы.pdf скопом и нуждаетесь в их автоименовании, библиотека:
— распознает документ;
— подаст его ChatGPT (OpenAI API);
— сформирует осмысленный заголовок.
Цена: бесплатно, но за токены придется платить
Репозиторий проекта
#инструмент
@zen_of_python
Если вы генерируете файлы.pdf скопом и нуждаетесь в их автоименовании, библиотека:
— распознает документ;
— подаст его ChatGPT (OpenAI API);
— сформирует осмысленный заголовок.
Цена: бесплатно, но за токены придется платить
Репозиторий проекта
#инструмент
@zen_of_python
pydoll | Веб-автоматизация без веб-драйверов
Питоническое решение извечного вопроса скрейпинга, избавляющее разработчика от боли подбора нужной версии ChromeDriver. Обещано также бесшовное прохождение «турникета» Cloudflare и reCAPTCHA v3*.
Цена: бесплатно
Репозиторий проекта
Питоническое решение извечного вопроса скрейпинга, избавляющее разработчика от боли подбора нужной версии ChromeDriver. Обещано также бесшовное прохождение «турникета» Cloudflare и reCAPTCHA v3*.
Цена: бесплатно
Репозиторий проекта
This media is not supported in your browser
VIEW IN TELEGRAM
Поисковая строка с ИИ на Django-сайте
Небанальная англоязычная статья-лонгрид о прикрутке Rust-библиотеки Mellisearch для неточного поиска на вашем питоническом сайте. Помимо скорости обещают еще и допуск опечаток, поддержку русского языка и другие киллер-фичи.
#инструмент
@zen_of_python
Небанальная англоязычная статья-лонгрид о прикрутке Rust-библиотеки Mellisearch для неточного поиска на вашем питоническом сайте. Помимо скорости обещают еще и допуск опечаток, поддержку русского языка и другие киллер-фичи.
#инструмент
@zen_of_python
t-строки: что это и чем отличаются от f-строк?
t-строки (template strings), предложенные в PEP 750, — новый механизм безопасной интерполяции строк. В отличие от f-собрата, t-строка не создает обычный string, а возвращает объекты шаблонов, которые можно безопасно обрабатывать, не боясь вредоносных SQL-инъекций.
t-строки автоматически экранируют вставляемые значения, предотвращая инъекции команд или SQL. Они возвращают специальные объекты, которые можно передавать в функции, поддерживающие шаблоны, обеспечивая дополнительную безопасность.
PEP 787 дал возможность использовать такое в модулях
Хотя t-строки обеспечивают безопасность, они требуют поддержки со стороны функций и библиотек. Например, попытка передать t-строку в функцию, ожидающую обычную строку, вызовет ошибку. Кроме того, интеграция t-строк в subprocess отложена до Python 3.15 из-за сложностей с кроссплатформенной реализацией.
#основы
@zen_of_python
t-строки (template strings), предложенные в PEP 750, — новый механизм безопасной интерполяции строк. В отличие от f-собрата, t-строка не создает обычный string, а возвращает объекты шаблонов, которые можно безопасно обрабатывать, не боясь вредоносных SQL-инъекций.
t-строки автоматически экранируют вставляемые значения, предотвращая инъекции команд или SQL. Они возвращают специальные объекты, которые можно передавать в функции, поддерживающие шаблоны, обеспечивая дополнительную безопасность.
PEP 787 дал возможность использовать такое в модулях
subprocess
и shlex
, включая новую функцию sh()
для безопасной сборки командной строки.
from shlex import sh
from subprocess import run
user_input = "some file.txt"
run(sh(t"cat {user_input}"))
Хотя t-строки обеспечивают безопасность, они требуют поддержки со стороны функций и библиотек. Например, попытка передать t-строку в функцию, ожидающую обычную строку, вызовет ошибку. Кроме того, интеграция t-строк в subprocess отложена до Python 3.15 из-за сложностей с кроссплатформенной реализацией.
#основы
@zen_of_python
robyn | Ваш API будет самым быстрым
Если правильно организовать эксперимент, то и на вершину рейтинга производительности взобраться несложно. Фреймворк предлагает беспрецедентную производительность вашего будущего API засчет рантайма на Rust.
Среди фичей все самое «вкусное»:
— Поддерживает (а)синхронные функции;
— Самодокументирует ваш API;
— Позволяет создавать приложения с двусторонней связью (WebSocket);
— Интегрируется напрямую с кодом на Rust;
— Автоматически перезагружает сервер при изменении файлов (Hot Reload);
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Если правильно организовать эксперимент, то и на вершину рейтинга производительности взобраться несложно. Фреймворк предлагает беспрецедентную производительность вашего будущего API засчет рантайма на Rust.
Среди фичей все самое «вкусное»:
— Поддерживает (а)синхронные функции;
— Самодокументирует ваш API;
— Позволяет создавать приложения с двусторонней связью (WebSocket);
— Интегрируется напрямую с кодом на Rust;
— Автоматически перезагружает сервер при изменении файлов (Hot Reload);
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
enum: где обладает преимуществом
Встроенный модуль
Рассмотрим функцию, которая получает температуру в заданном городе:
Значение параметра
Теперь функция может быть вызвана так:
Это обеспечивает автодополнение в IDE, предотвращает опечатки и делает код более самодокументируемым.
Когда конкретные значения не имеют значения, можно использовать
В этом случае значения будут автоматически присвоены в порядке определения.
Модуль
— IntEnum: Подкласс
— Flag / IntFlag: Позволяют комбинировать значения с помощью побитовых операций, что полезно для представления множественных состояний.
В нем также представлены дополнительные инструменты для работы с перечислениями:
— EnumCheck: Позволяет проверять уникальность значений в перечислении;
— FlagBoundary: Управляет поведением при работе с недопустимыми значениями в перечислениях
— EnumDict: Подкласс
#основы
@zen_of_python
Встроенный модуль
enum
предоставляет удобный способ создания перечислений — наборов именованных констант, которые облегчают работу с фиксированными наборами значений. Это особенно полезно, когда необходимо ограничить возможные значения переменной определенным списком.Рассмотрим функцию, которая получает температуру в заданном городе:
def get_temperature(city, unit):
...
Значение параметра
unit
может быть либо "celsius"
, либо "fahrenheit"
. Однако использование строковых литералов может привести к ошибкам из-за опечаток или несогласованности в написании. Чтобы избежать этого, можно использовать перечисление:
from enum import Enum
class TempUnit(Enum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"
Теперь функция может быть вызвана так:
get_temperature("Lisbon", TempUnit.CELSIUS)
Это обеспечивает автодополнение в IDE, предотвращает опечатки и делает код более самодокументируемым.
Когда конкретные значения не имеют значения, можно использовать
auto
для автоматического присвоения значений:
from enum import Enum, auto
class Weekday(Enum):
MONDAY = auto()
TUESDAY = auto()
WEDNESDAY = auto()
В этом случае значения будут автоматически присвоены в порядке определения.
Модуль
enum
также предоставляет специализированные классы перечислений:— IntEnum: Подкласс
int
, позволяющий использовать перечисления в арифметических операциях;— Flag / IntFlag: Позволяют комбинировать значения с помощью побитовых операций, что полезно для представления множественных состояний.
В нем также представлены дополнительные инструменты для работы с перечислениями:
— EnumCheck: Позволяет проверять уникальность значений в перечислении;
— FlagBoundary: Управляет поведением при работе с недопустимыми значениями в перечислениях
Flag
;— EnumDict: Подкласс
dict
, используемый при создании метаклассов перечислений.#основы
@zen_of_python
Telegram
Zen of Python
Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Forwarded from Метод утёнка
Это оберег от новых задач между майскими. Вы знаете, кому его отправить.
Майские праздники в этом году как генератор в Python — вроде начались, но сейчас только
#кек
@zen_of_python
yield
, return
ещё не было.#кек
@zen_of_python
На случай, если вы все еще бухаете морально не готовы вернуться к работе, на GitHub бесплатно дают кодить с целым букетом LLM:
— ChatGPT
— DeepSeek
— Mistral
— MIcrosoft Phi и проч.
Выставил такого ИИ-работника вместо себя в начале недели — и никто не поймет подмены.
#инструмент
@zen_of_python
— ChatGPT
— DeepSeek
— Mistral
— MIcrosoft Phi и проч.
Выставил такого ИИ-работника вместо себя в начале недели — и никто не поймет подмены.
#инструмент
@zen_of_python
Держите питонический амулет. Он защитит вас завтра от груженых понедельников, и коллег с «домайскими» отложенными задачами.
#кек
@zen_of_python
#кек
@zen_of_python
Солидный апдейт pip
Среди новшеств версии 25.1:
— Группы зависимостей: Теперь можно устанавливать «пачками», определёнными в
— Возобновляемые загрузки: прерванные из-за нестабильного интернета загрузки все же выполнятся;
— Индикатор прогресса установки;
— Ускорение
— Улучшенные сообщения об ошибках: Сообщения об ошибках при удалении пакетов стали более информативными.
Release Note
#инструмент
@zen_of_python
Среди новшеств версии 25.1:
— Группы зависимостей: Теперь можно устанавливать «пачками», определёнными в
pyproject.toml
. Это позволяет устанавливать, например, только зависимости для тестирования или разработки:pip install --group test
— Возобновляемые загрузки: прерванные из-за нестабильного интернета загрузки все же выполнятся;
— Индикатор прогресса установки;
— Ускорение
pip show
, pip freeze
на 15–30%;— Улучшенные сообщения об ошибках: Сообщения об ошибках при удалении пакетов стали более информативными.
Release Note
#инструмент
@zen_of_python